package 作业.Collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * 题目1
 * 请定义一个Collection类型的集合，存储以下字符串：
 * "JavaEE企业级开发指南”，"Oracle高级编程”，"MySQL从入门到精通”，"Java架构师之路”
 * 要求:
 * 请编程实现以下功能：
 * 使用迭代器遍历所有元素，并打印
 * 使用选代器遍历所有元素，筛选书名小于10个字符的，并打印；
 * 使用迭代器遍历所有元素，筛选书名中包含“ava”的，并打印
 * 如果书名中包含“Oracle”，则删掉此书。删掉后，遍历集合，打印所有书名。
 * （注意：以上每个功能都单独写个方法，在main方法中逐个调用测试即可）
 * 效果：
 * —--所有元素如下---
 * JavaEE企业级开发指南
 * Oracle高级编程
 * MySQL从入门到精通
 * Java架构师之路
 * ---书名小于10个字符的元素如下--
 * Java架构师之路
 * ---书名中包含“Java”的元素如下--·
 * JavaEE企业级开发指南
 * Java架构师之路
 * ---删除“oracle”的元素如下---
 * [JavaEE企业级开发指南，MySQL从入门到精通，Java架构师之路]
 * [JavaEE企业级开发指南，MySQL从入门到精通，Java架构师之路]
 */
public class Test {
    public static void main(String[] args) {
        Collection<String> collection = new ArrayList<>();
        collection.add("JavaEE企业级开发指南");
        collection.add("Oracle高级编程");
        collection.add("MySQL从入门到精通");
        collection.add("Java架构师之路");
        System.out.println("---所有元素如下---");
        printAll(collection);
        System.out.println("---书名小于10个字符的元素如下--");
        printLessTen(collection);
        System.out.println("---书名中包含“Java”的元素如下--");
        printJava(collection);
        System.out.println("---删除“oracle”的元素如下---");
        deleteOracle(collection);
        }
        public static void printAll(Collection<String> collection){
            for (Object o : collection) {
                System.out.println(o);
            }
        }
        public static void printLessTen(Collection<String> collection){
            for (Object o : collection) {
                if (o.toString().length()<10){
                    System.out.println(o);
                }
            }
        }

    public static void printJava(Collection<String> collection) {
        for (Object o : collection) {
            if (o.toString().contains("Java")) {
                System.out.println(o);
            }
        }
    }

    public static void deleteOracle(Collection<String> collection) {


        Iterator<String> iterator = collection.iterator();

        while (iterator.hasNext()) {
            Object next = iterator.next();
            if (next.toString().contains("Oracle"))
                iterator.remove();
        }
    }
}
